Raspberry Pi /RP2350 /USB_DPRAM /EP12_OUT_BUFFER_CONTROL

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

Interpret as EP12_OUT_BUFFER_CONTROL

31 2827 2423 2019 1615 1211 87 43 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0LENGTH_00 (AVAILABLE_0)AVAILABLE_0 0 (STALL)STALL 0 (RESET)RESET 0 (PID_0)PID_0 0 (LAST_0)LAST_0 0 (FULL_0)FULL_0 0LENGTH_10 (AVAILABLE_1)AVAILABLE_1 0 (128)DOUBLE_BUFFER_ISO_OFFSET 0 (PID_1)PID_1 0 (LAST_1)LAST_1 0 (FULL_1)FULL_1

DOUBLE_BUFFER_ISO_OFFSET=128

Description

Buffer control for both buffers of an endpoint. Fields ending in a _1 are for buffer 1. Fields ending in a _0 are for buffer 0. Buffer 1 controls are only valid if the endpoint is in double buffered mode.

Fields

LENGTH_0

The length of the data in buffer 1.

AVAILABLE_0

Buffer 0 is available. This bit is set to indicate the buffer can be used by the controller. The controller clears the available bit when writing the status back.

STALL

Reply with a stall (valid for both buffers).

RESET

Reset the buffer selector to buffer 0.

PID_0

The data pid of buffer 0.

LAST_0

Buffer 0 is the last buffer of the transfer.

FULL_0

Buffer 0 is full. For an IN transfer (TX to the host) the bit is set to indicate the data is valid. For an OUT transfer (RX from the host) this bit should be left as a 0. The host will set it when it has filled the buffer with data.

LENGTH_1

The length of the data in buffer 1.

AVAILABLE_1

Buffer 1 is available. This bit is set to indicate the buffer can be used by the controller. The controller clears the available bit when writing the status back.

DOUBLE_BUFFER_ISO_OFFSET

The number of bytes buffer 1 is offset from buffer 0 in Isochronous mode. Only valid in double buffered mode for an Isochronous endpoint. For a non Isochronous endpoint the offset is always 64 bytes.

0 (128): undefined

1 (256): undefined

2 (512): undefined

3 (1024): undefined

PID_1

The data pid of buffer 1.

LAST_1

Buffer 1 is the last buffer of the transfer.

FULL_1

Buffer 1 is full. For an IN transfer (TX to the host) the bit is set to indicate the data is valid. For an OUT transfer (RX from the host) this bit should be left as a 0. The host will set it when it has filled the buffer with data.

Links

() ()